<?php
namespace app\admin\model;
use think\Model;

class SystemGroup extends Model {
	
	protected $name = 'system_group';  		//表名
	protected $pk = 'org_id';  				//主键		
	protected $autoinc  = true;	   	    //主键是否自动增长类型
   
	//获取当前用户的授权信息
	public function getAuth($id){
		$result = $this->where('org_id',$id)->value('action');
		$result = json_decode($result,true);
		return $result;
	}
	
	//效验当前节点下是否存在相同名称
	public function isExistNode($org_name,$parent_org_id,$org_id){
		return $this->where("org_name",$org_name)
			->where("parent_org_id",$parent_org_id)
			->where("org_id",'<>',$org_id)
			->value("org_name");
	}
	
	//新增或更新节点
	public function addOrUptateData($org_id,$data){
		//过滤只保存该两字段
		$data = \Request::only(['org_name','parent_org_id']);
		
		if(empty($org_id))
			return  $this->save($data) ? $this->org_id : null;
		else
			return $this->save($data,['org_id' => $org_id]) ? $org_id : null;
	}
	
	//删除节点
	public function deleteNode($orgIds){
		return $this->where("org_id","in",$orgIds)->delete();
	}
	
	//添加授权
	public function addAction($org_id,$actions){
		return $this->where('org_id',$org_id)->update(['action'=>$actions]);
	}
	
	//更新排序 
	public function updateSort($moveId,$coverId){
		$rerult = $this->saveAll( [
		    ['org_id'=>$moveId, 'sort'=> $this->where('org_id',$coverId)->value('sort') ],
		    ['org_id'=>$coverId, 'sort'=> $this->where('org_id',$moveId)->value('sort') ]
		] );
		return $rerult;
	}
	
}